package net.happy2v.louis.re.databases;

import net.happy2v.louis.re.databases.DatabaseContract.ContentsColumns;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;

/**
 * 데이터 베이스의 생성과 open 작업을 처리한다.
 * 
 * @author happy2v
 * 
 */
public class DatabaseHelper extends SQLiteOpenHelper {

	/* DBPath는 주어진 애플리케이션의 디폴트 시스템 경로를 사용한다. */
	public static final String DATABASE_NAME = "jcshcoolRE.db";
	/* DB의 버전을 설정해 준다. */
	private static final int DATABASE_VERSION = 1;
	/* SQLite 데이터 베이스 객체 */
	private SQLiteDatabase mDatabase;

	/**
	 * DatabaseHelper 생성자
	 * 
	 * @param context
	 */
	public DatabaseHelper(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	public void openDatabase() throws SQLException{
		mDatabase = SQLiteDatabase.openOrCreateDatabase(DATABASE_NAME, null);
//		(DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);
	}
	
	@Override
	public synchronized void close() {
		if (mDatabase != null) {
			mDatabase.close();
		}
		super.close();
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// 데이터베이스 생성 코드.
		 db.execSQL(Tables.TABLE_NAME_RE_DATA);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// 업그레이드 작업을 처리하는 코드
	}

	public interface Tables {
		/* 모든 내용을 한번에 다 담자. */
		public static final String TABLE_NAME_RE_DATA = "re_data";

		/* CONTENTS Table Create : Contents Table 생성 쿼리 */
		String CREATE_TABLE_CONTENTS = "CREATE TABLE "
				+ Tables.TABLE_NAME_RE_DATA + " (" + BaseColumns._ID
				+ " INTEGER PRIMARY KEY AUTOINCREMENT,"
				+ ContentsColumns.KEY_MAIN_PART + " NUMBER NOT NULL,"
				+ ContentsColumns.KEY_LESSON + " NUMBER NOT NULL,"
				+ ContentsColumns.KEY_TYPE + " NUMBER,"
				+ ContentsColumns.KEY_CONTENT_ENG + " TEXT,"
				+ ContentsColumns.KEY_CONTENT_KOR + " TEXT,"
				+ ContentsColumns.KEY_MP3_URL + " TEXT)";
	}
}